You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgrade Aztec dependencies to v5.0.0-rc.2 and fix breaking API changes
⚙️ Configuration changes🐞 Bug fix🕐 20-40 Minutes
AI Description
• Bump JS and Noir Aztec dependencies from v5.0.0-rc.1 to v5.0.0-rc.2.
• Update Noir contract instances to match renamed class-id field in rc.2.
• Adjust TS test utilities for updated Aztec address construction API.
Diagram
graph TD
A["package.json"] --> B[("Aztec JS packages\n@aztec/*")]
A --> C[("Benchmark prerelease\ntgz")]
D["Noir contracts\n(Nargo.toml)"] --> E[("aztec-packages\ngit tag rc.2")]
F["Noir logic/tests"] --> D --> E
G["TS test utils"] --> B
subgraph Legend
direction LR
_cfg["Config / Manifest"] ~~~ _code["Code change"] ~~~ _ext[("External dependency")]
end
Loading
High-Level Assessment
The following are alternative approaches to this PR:
1. Use an npm-published benchmark version (semver) instead of a tarball URL
➕ Reproducible installs without relying on a specific GitHub release asset URL
➕ Cleaner dependency graph and lockfile diffs
➕ Better compatibility with tooling (audit, caching, registries)
➖ Requires publishing the prerelease to npm (or internal registry) first
➖ May slow down consumption of ad-hoc prereleases
2. Centralize Aztec version pinning via npm overrides/resolutions
➕ Single place to control Aztec versions across transitive deps
➕ Reduces risk of mixed rc.1/rc.2 sub-dependency graphs
➖ Does not help Noir (Nargo) dependencies
➖ Can mask incompatible transitive constraints and cause runtime surprises
3. Track aztec-packages by commit SHA instead of tag for Noir deps
➕ Maximum reproducibility (tags can be moved in rare cases)
➕ Enables pinning to a known-good commit if rc.2 tag has issues
➖ Harder to reason about compared to a public release tag
➖ More maintenance when updating versions
Recommendation: The PR’s approach (move everything to rc.2 and apply minimal compatibility fixes) is appropriate for an RC upgrade. The main improvement to consider is replacing the benchmark GitHub tarball dependency with an npm-published prerelease version when available to improve install reproducibility and tooling compatibility; otherwise, the current pin is acceptable as a temporary prerelease measure.
Files changed (14) +30 / -29
Bug fix (3) +4 / -3
logic.nrFix ContractInstance field rename for escrow instance derivation+1/-1
Fix ContractInstance field rename for escrow instance derivation
• Updates ContractInstance construction to use original_contract_class_id instead of contract_class_id, matching the rc.2 API/struct layout.
package.jsonBump Aztec JS deps to 5.0.0-rc.2 and update benchmark prerelease+11/-11
Bump Aztec JS deps to 5.0.0-rc.2 and update benchmark prerelease
• Updates the package version and Aztec-related dependencies from rc.1 to rc.2. Switches the benchmark dependency to a specific rc.2 prerelease tarball URL and updates the internal aztecVersion config.
package.json now depends on @defi-wonderland/aztec-benchmark via a GitHub release tarball URL, which
is less registry-standard and can be harder to mirror/cache in some environments. Since the package
is only referenced by benchmark code and the bench script, keeping it in runtime dependencies forces
all consumers to download it unnecessarily.
The PR switches the aztec-benchmark dependency to a GitHub tarball URL under runtime dependencies,
while repository usage shows it’s only imported by benchmark code and invoked via the bench script,
indicating it doesn’t need to be installed for normal consumption of the package.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
### Issue description
`@defi-wonderland/aztec-benchmark` is a GitHub tarball URL under `dependencies`, which impacts downstream consumers (extra install surface + URL-based fetch).
### Issue Context
The dependency is only used by benchmark sources and the `bench` script, not by library runtime code.
### Fix Focus Areas
- package.json[28-51]
### Suggested fix
1. Move `@defi-wonderland/aztec-benchmark` from `dependencies` to `devDependencies`.
2. Prefer a registry-published version (e.g., `5.0.0-rc.2`) when available; if a tarball is required temporarily, consider documenting why and how it’s pinned/released so consumers understand the provenance expectations.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Author self-review: I have reviewed the code review findings, and addressed the relevant ones.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Linear
Closes AZT-XXX
Description